/**
 * 单例模式
 * 单例类只能有一个实例
 * 单例类必须自己创建自己的唯一实例
 * 单例类必须给所有其他对象提供这一实例
 */
//使用到private
/**
 * instance 和 getInstance 都是静态的。
 * 它们属于 Cat 类本身，而不是 Cat 类的任何特定实例。
 * 确保了即使创建了多个 Cat 实例（尽管单例模式旨在防止这种情况），
 * 也只有一个 instance 变量存在，并且可以通过类名直接访问 getInstance 方法。
 */
class Cat{
private constructor(){}
private static instance:Cat=null;
public static getInstance(){
    if(this.instance==null){
        this.instance=new Cat();
    }
    return this.instance;
}
}
let cat1=Cat.getInstance();
